package org.gp.tringes;

import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;

public class GestorIGInicio{
	
	private static GestorIGInicio miGestorIGInicio = new GestorIGInicio();
	private String idioma;
	
	private GestorIGInicio(){idioma = "cast";}
	
	public static GestorIGInicio getGestorIGInicio(){
		return miGestorIGInicio;
	}
	
	public Boolean comprobarDatosClub(String pNombre, char[] pContra) throws SQLException{
		String contrasea = String.valueOf(pContra);
		
		ResultSet rs = GestorBD.getInstance().consulta("select * from club where nombre='"+pNombre+"' and contrasenya='"+contrasea+"'");
		Boolean result = rs.next();
		GestorBD.getInstance().cerrarConsulta(rs);
		if(result){
			return true;
		}else{
			return false;
		}
		
	}
	
	public Integer getIdClub(String pNombre) throws SQLException{
		ResultSet rs = GestorBD.getInstance().consulta("select id from club where nombre='"+pNombre+"'");
		rs.next();
		Integer id = rs.getInt("id");
		return id;
	}
	
	public Boolean comprobarDatosDueno(String pNombre, char[] pContra) throws SQLException{
		String contrasea = String.valueOf(pContra);
		
		ResultSet rs = GestorBD.getInstance().consulta("select * from dueno where numfederado='"+pNombre+"' and contrasenya='"+contrasea+"'");
		Boolean result = rs.next();
		GestorBD.getInstance().cerrarConsulta(rs);
		if(result){
			return true;
		}else{
			return false;
		}
		
	}
	
	public Date getFechaActual(){
		
		Calendar cal = Calendar.getInstance();
		int dia = cal.get(Calendar.DATE);
		int mes = cal.get(Calendar.MONTH);
		int anyo = cal.get(Calendar.YEAR);
		
		String diaSt = String.valueOf(dia);
		String mesSt = String.valueOf(mes);
		String anyoSt = String.valueOf(anyo);
		
		String fecha = anyoSt+"-"+mesSt+"-"+diaSt;
		
		java.sql.Date fecFormatoDate = null;
		try {
			SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd", new Locale("es", "ES"));
			fecFormatoDate = new java.sql.Date(sdf.parse(fecha).getTime());
		} catch (Exception ex) {
			System.out.println("Error al obtener el formato de la fecha/hora: " + ex.getMessage());
		}
		return fecFormatoDate;
	}
	
	public void setIdioma(String pIdioma){
		this.idioma = pIdioma;
	}
	
	public String getIdioma(){
		return this.idioma;
	}
	
	public String getTexto(Integer pId){
		
		String texto = null;
		
		try {
			ResultSet rs = GestorBD.getInstance().consulta("select "+idioma+" from idioma where id="+pId+"");
			if(rs.next()){
				texto = rs.getString(idioma);
			}
			GestorBD.getInstance().cerrarConsulta(rs);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return texto;
	}
}
